Software Developer for Symbiant Technologies, full time web developer. Mapping and modding since the days of Doom 2. Sci-fi and cyberpunk fan. My most famous map was "co_angst", the first ever combat map for Natural Selection. I have developer a useful little app called "ModMaker" for working with the Source game engine. I am the Lead Developer for "Exterminatus - Rival Species 2" a Warhammer 40,000 mod for Source.

Report RSS Mod Maker

Posted by on

I've been working on a utility to help me with my Source mod creation, called Mod Maker. Mod Maker is primarily a Source mod and tool launcher with productivity features to make it easier to mod for Source. The last time I mentioned Mod Maker was 2 years ago, since which time it has grown and matured.

Mod Maker

Source has a shedload of start up options most of aus don;t want to have to memorize, so the most useful options are up front on the main widow (above) and the rest are catered for by an advanced start up window (below)

Advanced launch options - Mod Maker

Mod Maker comes with the following tools:
Compiler - Drag and drop files onto this icon to fire up the configurable compiler. Useful for compiling QC scripts into MDLs as the compiler is SDK and mod aware. The file types recognised by the compiler are configured from the mod maker File -> Options menu.

Setup Source SDK - If you've got a new mod installed click this and the mod will be added to the Source SDK configuration for you and any FGDs the mod uses added to hammer. Useful if you map for many mods.

Hammer and Model Viewer - For Source 2013 mods finding and launching these tools can be a pain. Mod maker auto-detects Source 2013 SDK and launches them for you, just like the old Source SDK used to.

Make Installer - Cleans up the game folder and packages it with the NSIS installer system. Installers make your mod so much easier for players to install. I've been using this to build installed for Exterminatus for years.

Localization - Handles all the files necessary to translate your mod into the various languages supported by steam ( ironically the UI only comes in English).

Localization in Mod Maker

Steampipe Packer - For Source 2013 mods this tool can package all the available content of your mod into VPKs for faster loading. I used this for the Beta 8 and later versions of Exterminatus.

Cleanup - Recycles user generated and temporary files from your game folder. Usually handled before making an installer or re-distributable. But sometimes you just want to be tidy.

Make Patch - Cleanup followed by archiving all files from the game folder that have changes since the last archive. Useful if you want to distribute just changes since the last build of your mod. I've used this for making the alpha patches for Exterminatus.

Patch Creation - Mod Maker

SMD to QC - Takes a reference SMD (model source), converts all the textures the model references for use in Source and produces a QC script for a static prop referencing the SMD. All it takes is to drag the QC into the compiler tool and you’ve got yourself a working prop. This is useful for modellers that are not familiar with Source to get models from your tool of choice working in-game.

FGD Editor - This tool is a graphical editor for Forge Game Data files, used by Hammer to place entities from your mod in maps. This tool can make FGDs for your entities based on snippets of C++ or produce boilerplate C++ from the FGD description of an entity. This should be a big time saver when creating new entity types and getting them into Hammer.

FGD Editor - Mod Maker

Mod Maker uses the .NET framework, but apart from that requires no installation. It will detect your Steam, which SDKs and Source mods you have installed.

The Future for Mod Maker

Mod Maker seems to be one of those utilities I could go on tweaking and extending forever. However, I plan to put a download for Mod Maker on ModDB shortly.

If you look at the icon for Claustrophobia in the screenshot at the top of this blog you can see my TGA handling code doesn’t cope well with all formats of TGA. I’m looking into replacing my TGA implementation with DevIL to sort that out.

On the whole i’ve been more bothered about getting things working than best practice, so the exception handling is almost non-existent. I expect it will crash in more than a few places when more people start using it. Fixing bugs is a priority,

I am tempted to add a New Mod Wizard, now that the 2013 Source SDK is just a download from GitHub. It feels like the right way to handle it would be Git integration, so the modder has source control from the day one, however Git integration feels like a big deal and might bloat out the download. I wonder if there is a standard way to detect a Git client…

After adding a few more useful hyperlinks to the Help menu (yes it’s more than just an About box!) I did consider moving them to an external Bookmarks file. If Mod Maker shipped with a bookmarks file compatible with Chrome or Firefox would you bother to import it? or add to it?

The SMD to QC workflow is only 1 step away from SMD to MDL, I might just assume the generated QC is good enough and close that gap. I imagine modellers not tooled up for Source might actually prefer if this was OBJ to MDL, which would be an interesting challenge. I have a feeling that might go the same way as TGA file handling though, too many variations on the format.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: